As is shown in FIG. 7, usually data communication that requires error-free delivery is transmitted in packet format, i.e. the information message output by an information source IS is segmented in a packet encoder and each segment is transmitted in an individual data packet P1, P2, P3 onto a transmission link TL via a transmitter/receiver TR. On the receiver side, there is a packet decoder that performs the reassembly of the packets into the original information message to be forwarded to the information receiver IR. Such packet segmentation is very general and may be performed asynchronously on the transmission link TL. It can, however, also be a synchronous packet transmission system, as is schematically indicated with the SYNC-pulse in FIG. 7. Such a segmentation of the information message in individual data packets P1, P2, P3 has the main advantage that only the segment or packet that contains the error has to be considered, not the entire message.
In order to allow an error correction of individual packets, there are a variety of error coding and error correction techniques used. FIG. 8 shows the most common error correction techniques, namely a forward error correction FEC and an automatic repeat request technique ARQ. As is shown in FIG. 8a, the information bits IB of the individual packets are supplemented with parity bits P, which are generated by a parity bit generation means PBGM cooperating with the packet encoder. The extra parity bits help the packet decoder to locate and correct the errors. That is, a corrector CORR checks the parity bits P and advises the packet decoder on the errors. The packet decoder then takes this information into account for a correction and decoding of the packet.
In the automatic repeat request technique ARQ (see e.g. EP 0 290 525 B1 or EP 0 473 869 A1), the receiver RC only checks whether the information bits in the received packet are correct (the checking is done with conventional error checking algorithms, e.g. see D. Bertsekas, and R. Callager, DATA NETWORKS, 2nd edition, chapter 2, Prentice-Hall, London 1992). If not, it requests the transmitter for a retransmission of the packet. As is shown in FIG. 8b, some information is added to the packet, called the cyclic error check CRC message which is unique for the packet information. When the CRC extraction means CRC-EX extracts this CRC-information, the packet decoder can decide whether the packet is correct or not. That is, if the information is distorted due to errors, the CRC-information changes, which indicates to the CRC extraction means CRC-EX that an error has occurred during the transmission of the packet.
However, generally both FEC and ARQ techniques reduce the throughput, i.e. the possible number of data packets per unit time. That is, in the FEC-technique extra parity bits P are added to the information bits IB, such that more time is necessary for the transmission of such packets. In the automatic repeat request ARQ technique, the retransmission reduces the throughput.
It can be seen that obviously the two afore-mentioned error correction methods reduce the throughput differently. The FEC reduces the throughput with a constant factor, since it will always add the parity bits (with constant length) independent of the fact whether there are actually errors on a link or not. By contrast, the retransmissions in the ARQ technique only occur, when the link experiences errors and therefore, the throughput adapts to the error environment.
Since with the ARQ technique a retransmission is applied, if there is one or more errors, it can be very disadvantageous in a situation where the error rate is small, but high enough to affect each packet. In order to find a balance between the advantages and disadvantages of the afore-mentioned two techniques, a combination may also be applied: a light amount of FEC adds little overhead, but can be helpful to correct packets, which are only lightly affected by errors. In this situation, the FEC-technique will reduce the number of retransmissions.
Therefore, a combined system of FEC and ARQ-techniques have already been suggested, as is shown in FIG. 9. An example is a data communication carried out with the current GSM-system and the D-AMPS-system. Here, the data is run through a channel encoder (packet encoder) and a channel decoder (packet decoder), but a higher layer protocol is provided that takes care of the ARQ-technique.
However, even the combined system of FIG. 9 has disadvantages, since such a system does not make use of the accumulated information received. When a packet is still not correct after a FEC-decoding, an entire retransmission of not only the information bits but also the parity bits is necessary. Then again, the retransmitted packet is decoded by itself and checked, and a further retransmission request is issued, if it is not correct.
Alternatively, in a more efficient scheme, the old, rejected packet is not discarded, when a retransmission of the original packet arrives at the receiver, such that both the information in the old and the new packet can be used. If more retransmissions are required, all the information of the old packet should be accumulated and all be used in the decoding process in the packet decoder. In an extreme case, it could even be envisaged that not the packet itself is to be transmitted, but only extra parity bits that can help improve the error correction of the receiver.
Another method for such a combined system is to use so-called punctured codes and to send the receiver subsequently the withheld parity bits, only when required.
Obviously, the combined FEC/ARQ-system has advantages, since it only requests a retransmission of a packet, if some basic correction of errors with the forward error coding technique cannot be obtained. Furthermore, only extra parity bits need be retransmitted in order to improve the error correction at the receiver. Since the combined FEC/ARQ-system only uses the information bits of the original packet, the information bits of the retransmitted packet and possibly further parity bits, the error correction in the receiver ends, when all this combined information has been used for the error correction. Then, no further improvement of error correction can be performed even if there are still further errors in the transmitted packet. Furthermore, the retransmission of information bits of the packet is disadvantageous in any case, since it drastically reduces the throughput.